package pe.com.bbva.pct.domain;

import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import pe.com.bbva.pct.util.ConstantesGenerales;

@Entity
@Table(name="TMR001_APLICACION", schema = ConstantesGenerales.DATABASE)
public class Aplicacion implements Serializable {

	private static final long serialVersionUID = -6615897817486828133L;
	
	private Long idAplicacion;
	private Valor idEstado;
	private String codigo;
	private String nombreCorto;
	private String nombreLargo;
	private String nombreJar;
	private String descripcion;
	
	@Id
	@SequenceGenerator(name="SQ_ID_APLIC", sequenceName=ConstantesGenerales.DATABASE+".SQ_ID_APLIC", allocationSize = 1)
	@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="SQ_ID_APLIC")
	@Column(name="CD_ID_APLICACION", unique=true, nullable=false, precision=36)
	public Long getIdAplicacion() {
		return idAplicacion;
	}
	public void setIdAplicacion(Long idAplicacion) {
		this.idAplicacion = idAplicacion;
	}
	
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "CD_ID_ESTADO")
	public Valor getIdEstado() {
		return idEstado;
	}
	public void setIdEstado(Valor idEstado) {
		this.idEstado = idEstado;
	}
	
	@Column(name="CD_COD_APLICACION", length=5, nullable=true)
	public String getCodigo() {
		return codigo;
	}
	public void setCodigo(String codigo) {
		this.codigo = codigo;
	}
	
	@Column(name="NB_NOMBRE_CORTO", length=20, nullable=true)
	public String getNombreCorto() {
		return nombreCorto;
	}
	public void setNombreCorto(String nombreCorto) {
		this.nombreCorto = nombreCorto;
	}
	
	@Column(name="NB_NOMBRE_LARGO", length=200, nullable=true)
	public String getNombreLargo() {
		return nombreLargo;
	}
	public void setNombreLargo(String nombreLargo) {
		this.nombreLargo = nombreLargo;
	}
	
	@Column(name="NB_NOMBRE_JAR", length=200, nullable=true)
	public String getNombreJar() {
		return nombreJar;
	}
	public void setNombreJar(String nombreJar) {
		this.nombreJar = nombreJar;
	}
	
	@Column(name="NB_DESCRIPCION", length=350, nullable=true)
	public String getDescripcion() {
		return descripcion;
	}
	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}
	
	
	
}
